home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / libs / x / xview / xview3.003 < prev    next >
Encoding:
Text File  |  1996-11-17  |  10.3 KB  |  255 lines

  1. This README describes Linux-patchlevel 2 of XView3.2p1-X11R6, Sun's
  2. OpenLook[tm] compliant graphical user-interface toolkit for Linux/ELF and
  3. the X Window System.
  4.  
  5. If you have never heard about XView before, here's a short excerpt of Sun's
  6. README:
  7. XView (X Window-System-based Visual/Integrated Environment for Workstations)
  8. is a user-interface toolkit to support interactive, graphics-based
  9. applications running under the X Window System.  XView provides a set of
  10. pre-built, user-interface objects such as canvases, scrollbars, menus, and
  11. control panels.  The appearance and functionality of these objects follow
  12. the OPEN LOOK Graphical User Interface (GUI) specification.  XView features
  13. an object-oriented style Application Programmer's Interface (API) that is
  14. straightforward and easy to learn.
  15.  
  16.  
  17. This release is based on Oleg Kibirev's release of XView for Linux/ELF. It
  18. contains patches from Oleg Kibirev <oleg@gd.cs.CSUFresno.EDU> (his patches
  19. are based mostly on Kenneth Osterberg's <lmfken@lmf.ericsson.se> patches),
  20. Wolfram Gloger <Gloger@lrz.uni-muenchen.de>, E. Zimmermann <edz@bsn.com> and
  21. myself. If you have other patches for XView-bugs, please send them to me.
  22.  
  23.  
  24. Patchlevel 2 finally fixes the nasty endianess-bug with icons and also
  25. contains some other minor enhancements. Also, I removed the seperate
  26. clients-package and added the sources to my diffs instead. I also merged
  27. Kenneth's diffs to the example-programs that were missing in Oleg's release.
  28.  
  29. Patchlevel 1 fixes some bugs that existed in all XView-versions since X11R6
  30. (some might even be older). They could cause coredumps or other
  31. miscellaneous failures like ignoring the resoure-database and displaying
  32. PANEL_LISTS with wrong colors. It also includes some malloc-related bugfixes
  33. that should allow you to debug XView-apps with Electric Fence.
  34.  
  35.  
  36. You can find the following files on sunsite.unc.edu in
  37. /pub/Linux/libs/X/xview:
  38.  
  39. xview3.2p1-X11R6-LinuxELF.2.bin.tar.gz:
  40.   This is the new binary release that contains everything that's required to
  41.   use the XView-libraries. It also contains binaries of the basic XView
  42.   clients (olwm, clock, cmdtool and shelltool), two additional clients (props
  43.   and textedit) and an (untested and unsupported) olvwm-binary.
  44. xview3.2p1-X11R6-LinuxELF.2.src.tar.gz
  45.   This is the sourcecode for the XView-library with my patches (see below)
  46.   applied.
  47. xview3.2p1-X11R6-LinuxELF.2.diff.gz
  48.   These are my patches relative to the XView3.2p1-X11R6-release as found on
  49.   ftp.x.org
  50. xview3.2p1-X11R6-LinuxELF.2.README
  51.   The file you're reading at the moment
  52. xview3.2p1-X11R6-LinuxELF.2.lsm
  53.   ...and the LSM-entry
  54.  
  55. To install the binary version, do the following:
  56. If you have an old XView-release installed, you might want to move your old
  57. /usr/openwin-tree to a save place first. Then cd to / and do a
  58. "tar xvpzf /some/path/xview3.2p1-X11R6-LinuxELF.2.bin.tar.gz" (as root). After
  59. doing "ldconfig /usr/openwin/lib" (and possibly adding /usr/openwin/lib to
  60. /etc/ld.so.config), you should be able to use the new libraries.
  61.  
  62. BTW, I chose version 3.2.2 for the shared libraries. This means that they're
  63. compatible with the old versions---you don't have to recompile your apps to
  64. use the new version (if they were liked against the shared libs, that is).
  65.  
  66. HINT TO DISTRIBUTION-MAINTAINERS:
  67. *PLEASE* replace your current XView-packages with this new one. You can save
  68. your users and all programmers of XView-apps a lot of trouble.
  69.  
  70.  
  71. Martin Buck <martin-2.buck@student.uni-ulm.de>
  72.  
  73.  
  74.  
  75. Oleg's old README follows (some of this information is outdated, but it
  76. gives some good hints about compiling XView yourself. You also might want to
  77. look at "Build-LinuxXView.bash" in my source-distributiuon):
  78. ------------------------------------------------------------------------------
  79.  
  80. Good morning, Net!
  81.  
  82. This is a version of XView 3.2 for use with ELF compiler and libraries. It was
  83. built using  gcc 2.6.4 snapshot 950414, libc  5.0.2 and ELF version if XFree86
  84. 3.1.1  by hjl@nynexst.com  (H.J.  Lu),   which   is currently available   from
  85. ftp://ftp.beckman.uiuc.edu/pub/linux/X11/new.   It  may work with other setup,
  86. but at least you need ELF C and X libraries.
  87.  
  88.  
  89. The version of shared  libraries compiled programs will  look for is 3.2, with
  90. current revision being 3.2.0.   It just seamed  logical.  If you want, you can
  91. change it   by looking for  3.2.0 in   source  distribution  config files  and
  92. changing the number to something else.
  93.  
  94.  
  95. My patches should be  applied xview3.2p1-X11R6.tar.gz, which  can be  found on
  96. ftp.x.org. The diff in this distribution includes  xview3L5 patches by Kenneth
  97. Osterberg (lmfken@lmf.ericsson.se or lmfken@bluese1.ericsson.fi), so you don't
  98. have to apply them first.  The reason for including one  patch but not another
  99. is that   3L5 diff doesn't apply (or    compile) cleanly with xview3.2p1-X11R6
  100. (actually Kenneth did much more work on porting than me).
  101.  
  102. Also, I didn't include Slingshot or  UITV3, because I am not  using them, so I
  103. won't be a good tester.
  104.  
  105. If there are any problems with this distribution, please let me  know.  I am a
  106. little busy with school projects,  so please send a   solution as well if  you
  107. can. But just a bug report is sure better than nothing :)
  108.  
  109.  
  110. Please send e-mail to:
  111.  
  112.        Snow Cat <snowcat@gd.cs.CSUFresno.EDU>
  113. aka    Oleg Kibirev <oleg@gd.cs.CSUFresno.EDU>
  114.  
  115. Those addresses are aliases of  each  other to let  me  read/send mail from  a
  116. Linux PC over term without conflicts. Please send only ONE copy!
  117.  
  118.  
  119. With that, here is how to proceed:
  120.  
  121. ^oo^ Choose the distribution: All files are currently on
  122. gd.cs.CSUFresno.EDU (129.8.1.19): /pub/sun4bin/src/xview
  123.  
  124. ^oo^ xview3.2p1-X11R6-LinuxElf.bin.tgz - a binary snapshot of /usr/openwin. To
  125. install (be sure to exit X windows first):
  126.  
  127. $ su
  128. # cd /usr/openwin/lib
  129. # mv *.a *.so* *.sa* /usr/i486-linuxaout/lib # or wherever your leftover a.out
  130.                          # libraries live
  131. # cd /
  132. # zcat /some/dir/xview3.2p1-X11R6-LinuxElf.bin.tgz | tar --preserve -xvf -
  133.  
  134. Or, as a slower but safer method, mv /usr/openwin /usr/oldopenwin, extract the
  135. distribution and then copy any files that are  not in .tgz  and that you still
  136. need (eq workman or meminfo) back.
  137.  
  138. ^oo^ xview3.2p1-X11R6-LinuxElf.patch.tgz  -   This  is  the patch    mentioned
  139. above. To apply, you need to obtain xview3.2p1-X11R6.tar.gz from ftp.x.org and
  140. then do:
  141.  
  142. $ zcat xview3.2p1-X11R6-LinuxElf.patch.tgz | tar -xvf -
  143. $ zcat xview3.2p1-X11R6.tar.gz | tar -xvf -
  144.  
  145. $ cd xview3.2p1-X11R6
  146. $ patch -p1 < ../LinuxElf.patch
  147. $ cd clients
  148. $ tar -xvf - ../../more_clients.tar
  149.  
  150. Then, look at the next section for  build instructions. Note  that you have to
  151. install a fixed mkdirhier to /usr/X11R6/bin as well.
  152.  
  153. ^oo^ xview3.2p1-X11R6-LinuxElf.tgz - This is my source tree,  in case there is
  154. any  trouble when applying patch.  To build (!! READ THIS  !! You can get very
  155. mysterous failures if you don't install files in config before building):
  156.  
  157. Get mkdirhier from the same directory. Then install it:
  158. mv /usr/X11R6/bin/mkdirhier /usr/X11R6/bin/mkdirhier.old
  159. cp mkdirhier /usr/X11R6/bin
  160. chmod 755 mkdirhier
  161.  
  162. mkdirhier.old   can  be confused  by pathnames   with excessive  slashes, like
  163. /usr/openwin//bin. If you can't find my mkdirhier on ftp, just do:
  164.  
  165. $ cat > mkdirhier <<END
  166. #!/bin/ash -
  167. exec mkdir -p "$@"
  168. END
  169. $
  170.  
  171. Next step:
  172.  
  173. $ zcat xview3.2p1-X11R6-LinuxElf.tgz | tar -xvf -
  174. $ cd xview3.2p1-X11R6-LinuxElf
  175. $ . sh.config
  176.  
  177. (if you are using tcsh, either run {ba,a,z}sh temporary or convert sh.config
  178. approporiately and source it)
  179.  
  180. $ cd config
  181. $ imake -DUseInstalled $IMAKEINCLUDE
  182. $ su
  183. # make install
  184. # ^D
  185. $ cd ..
  186. $ imake -DUseInstalled $IMAKEINCLUDE
  187. $ make World
  188.  
  189. Then,   you  can  follow       the      rest of  Sun   instructions         in
  190. xview3.2p1-X11R6-LinuxElf/README for  building clients and contrib.  After you
  191. are done, run: /usr/openwin/share/src/xview/examples/bin/*, as install doesn't
  192. get the mode right and I was too lazy to fix all contrib Imakefile's. 
  193.  
  194. Note that  one of the things sh.config  does is make  a  link called 'make' to
  195. /usr/bin/pmake  and  add  it to   the  PATH.   If  you   have a  non-slackware
  196. distribution, you  may not have BSD make  installed  in the same  location. In
  197. this case you need to make a link correctly yourself.   Anyway, using GNU make
  198. will *not* work, because  it defines $(MFLAGS) in a  way different from Sun or
  199. BSD make that configuration files expect.
  200.  
  201. In general, XView is a complicated  package and it seams  that building it can
  202. fail for lots of reasons :-{. I recommend that you keep a script of what build
  203. is doing and check it for any problems after it's over. For example:
  204.  
  205. $ script ../make.World
  206. $ make World
  207. $ exit
  208. $ egrep Error ../make.World
  209.  
  210. If you are building on a machine with 8M of RAM (or less),  exit X windows and
  211. in general, don't  try to  run anything large  when  XView is building. In  my
  212. experience, it changes build time from 20 to 4 hours on 486DX/33/8M.
  213.  
  214. If  you are interested  in SunView -> XView  conversion, you'll need to rename
  215. sed files in /usr/openwin/bin to have a leading dot, for example, full1.sed ->
  216. .full1.sed and make some  trivial  pathname changes  to cv2xview.  My   binary
  217. distribution already includes this. I'll  include it in patches sometime later
  218. when I  feel like recompiling XView to see if it  works.
  219.  
  220. This source tree only includes clients provided by Sun. If you want source for
  221. more Slackware clients, keep reading.
  222.  
  223. ^oo^  olvwm4pl1-Linux.patch.gz.  This is   a   patch to compile olvwm4   under
  224. Linux.  Note that  it's a  quick-and-dirty   port - I  used  BSD compatability
  225. library  and some quick  replacements just  to make it  work.  If you can do a
  226. better job please  let me know. To apply,  get olvwm4 and  olvwm4-Patch01 from
  227. ftp.x.org:/R5contrib (currently). Then do, for example:
  228.  
  229. $ cd olvwm4
  230. $ zcat ../olvwm4.tgz | tar -xvf -
  231. $ patch -p1 < ../olvwm4-Patch01
  232. $ zcat ../olvwm4pl1-Linux.patch.gz | tar -xvf -
  233. $ xmkmf
  234. $ make
  235. $ su
  236. # make install
  237.  
  238. A precompiled binary is included in xview3.2 binary distribution.
  239.  
  240. You have to compile Flex with Elf compiler  for this to  work, as olvwm4 needs
  241. libfl.a.
  242.  
  243. ^oo^ olvwm4pl1-Linux.tgz  - This  is the  full source code   if you can't  use
  244. patch. Proceed as above.
  245.  
  246.  
  247. ^oo^ More? 
  248.  
  249.  
  250. You can try re-compiling other programs in /usr/openwin/bin to use ELF instead
  251. of a.out.  If you can do it with all of them,  you can delete old libraries in
  252. /usr/i486-linuxaout/lib.  I was   more interested in  developing new  programs
  253. that use ELF-specific   dynamic linking, so I  just  left them around  to  run
  254. workman :)
  255.